﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Shoozla.DataModel
{
    public interface IProgressOperation
    {
        int Minimum { get; set;  }
        int Maximum { get; set;  }
        int Current { get; set;  }
        String Description { get; set; }
        void Start();
        void CancelAsync();
        event EventHandler<ProgressOperationEventArgs> ProgressChanged;
        event EventHandler<ProgressOperationEventArgs> Completed;
        event EventHandler<ProgressOperationEventArgs> Started;

    }

    public class ProgressOperationEventArgs : EventArgs
    {
        public string Message { get; set; }
        public int Maximum { get; set; }
        public int Current { get; set; }

        public ProgressOperationEventArgs(int current, int maximum, string messageData)
        {
            Message = messageData;
            Maximum = maximum;
            Current = current;
        }
    }

}